Video streaming has attracted significant amount of attention in recent years and has become one of the major types of traffic transmitted over the Internet. Providing secure video streaming is essential for the operation of video streaming applications, such as video on demand and video teleconferencing. Many algorithms have been proposed to secure the transmission of data and voice in environments which do not have Quality of Service (QoS) requirements, or which have low data rates. In contrast, video streaming has relatively high bandwidth and QoS requirements to ensure reliable and high quality delivery. Consequently, simply extending the security algorithms for data and audio to video applications does not provide adequate security and QoS for the streaming applications.
Broadcast-quality TV typically requires up to a 150 Mbps bandwidth channel for transmission, while high definition video can require more than 1 Gbps bandwidth. Therefore, in practice, video streaming is usually transmitted after compression. The MPEG (Moving Picture Experts Group) standards are widely used for video compression algorithms.
In one solution, video is secured by encrypting an entire MPEG video stream, and then decrypting and decoding the stream at the receiver side. However, this solution requires intensive processing at both the transmitter and receiver sides and thus may not be suitable for many video streaming applications. More advanced encryption and decryption algorithms exploit the structure of the MPEG and encrypt only selective frames to save computational overhead. Another solution encrypts only headers and I-frames (intraframes) in the MPEG stream using the DES-CBC mode. This method can significantly reduce the computation overhead required for encryption and decryption. The security rational behind this scheme is that P-frames (predictive frames) and B-frames (bi-directional frames) will be useless if I-frames are encrypted. A security weakness of this selective encryption is that a single P frame or B-frame may reveal little information, but a series of unencrypted P-frames and B-frames can carry much information if the base frames are correlated to each other. Further, there are I-macroblocks contained even in P-frames and B-frames, and these unencrypted I-macroblocks may reveal useful information.
In another solution, Secure MPEG (SECMPEG) employs four levels of security. At the first layer, it encrypts all headers. At the second layer, SECMPEG encrypts DC co-efficients of I-macroblocks in addition to the first layer encryption. At the third layer, SECMPEG encrypts all I-frames and all I-macroblocks in P frames and B-frames. At the fourth layer, SECMPEG encrypts the entire stream. The encryption can be done either with Data Encryption Standard (DES) or RSA. However, SECMPEG requires major changes to the MPEG headers, thus SECMPEG stream is not compatible with the standard MPEG stream and requires special encoder and decoder at both the transmitters and receivers.
Accordingly, a need exists in the art for an improved solution for secure video streaming.